package zaijiansunwukong.util;

import gui.ava.html.parser.HtmlParser;
import gui.ava.html.parser.HtmlParserImpl;

import java.io.ByteArrayOutputStream;

/**
 * 图片工具类
 *
 * @author
 * @date 2024/11/26 14:07
 * @description: 详细说明
 */
public final class ImageUtils {
    /**
     * 将html转成图片,写到本地
     * @param htmlStr
     * @param imagePath
     */
    public static void htmlToImage(String htmlStr, String imagePath) {
        HtmlParser htmlParser = new HtmlParserImpl();
        // 解析html代码
        htmlParser.loadHtml(htmlStr);

        //原生方法
        // ImageRenderer imageRenderer = new ImageRendererImpl(htmlParser);
        // imageRenderer.saveImage(imagePath);
        //自定义方法
        ImageRendererSubImpl imageRendererSub = new ImageRendererSubImpl(htmlParser);
        imageRendererSub.saveImage(imagePath);
    }

    public static byte[] htmlToImage(String htmlStr) {
        HtmlParser htmlParser = new HtmlParserImpl();
        // 解析html代码
        htmlParser.loadHtml(htmlStr);

        //原生方法
        // ImageRenderer imageRenderer = new ImageRendererImpl(htmlParser);
        // ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        // imageRenderer.saveImage(byteArrayOutputStream, true);
        //自定义方法
        ImageRendererSubImpl imageRendererSub = new ImageRendererSubImpl(htmlParser);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        imageRendererSub.saveImage(byteArrayOutputStream, true);

        // 获取 byte[] 数组
        byte[] imageBytes = byteArrayOutputStream.toByteArray();
        return imageBytes;
    }

}
